package com.guang.interupt.park;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;

/**
 * @Description 测试LockSupport.park();，只会park住中断标记为false的，不会打断中断标记为true的
 * @Author liguang
 * @Date 2023/06/20/17:51
 */
public class ParkInteruptedTestTwo {
    private static Logger logger = LoggerFactory.getLogger(ParkInteruptedTestTwo.class);
    public static void main(String[] args) throws InterruptedException {
        Thread threadA = new Thread(() -> {
            logger.info("获取得到当前线程的中断标记:{}",Thread.currentThread().isInterrupted());
            logger.info("获取得到当前线程的中断标记:{}",Thread.currentThread().isInterrupted());
            // 如果中断标记为true，那么擦除掉变成false，但是返回的值擦除之前的状态
            // 如果中断标记为flase，则不操作
            logger.info("调用当前的擦除线程标记状态:{}",Thread.interrupted());
            logger.info("调用当前的擦除线程标记状态:{}",Thread.interrupted());
        }, "threadA");
        threadA.start();
        // 一般是main线程先来进行执行
        threadA.interrupt();
    }
}
